﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DAO;
using DVO;
using System.Globalization;

public partial class ReWorking : System.Web.UI.Page
{
    public int _Id = 0;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Page.User.Identity.Name == "")
        {
            Response.Redirect("Login.aspx");
        }
        else
        {
            if (!String.IsNullOrEmpty(Request.QueryString["Id"]))
            {
                _Id = Convert.ToInt32(Request.QueryString["Id"].ToString());
            }
            if (IsPostBack == false)
            {   
                LoadAuthor();
                if (_Id > 0)
                {
                    Button1.Text = "Cập nhật";   
                    LoadInfo(_Id);
                    hidebutton();
                    Button1.Visible = false;
                }
                else
                {
                    //ddlStatus.Visible = false;
                    Button2.Visible = false;
                }
            }
        }
    }

    #region "LoadData"
    private void LoadAuthor()
    {
        BLL_Member ObjBLL = new BLL_Member();
        List<ins_Member_SelectLevelResult> ObjList = new List<ins_Member_SelectLevelResult>();
        try
        {
            ObjList = ObjBLL.Level_Select(1).ToList();
            ddlAuthor.DataSource = ObjList;
            ddlAuthor.DataTextField = "UserName";
            ddlAuthor.DataValueField = "Email";
            ddlAuthor.DataBind();
        }
        catch (Exception ex)
        {
            Common.WriteLog(ex.Message, ex.StackTrace);
        }

    }
    private void LoadInfo(int Id)
    {
        BLL_Working ObjBLL = new BLL_Working();
        ins_Working_SelectByIdResult ObjList = new ins_Working_SelectByIdResult();
        try
        {
            if (ObjList != null)
            {
                ObjList = ObjBLL.Working_SelectById(Id);
                txtNotes.Text = ObjList.Notes;
                txtWorkName.Text = ObjList.WorkName;
                //Linkdocument.Visible = true;
                hdfWordId.Value = ObjList.Id.ToString();
                txtFromDate.Text = string.Format("{0: dd/MM/yyyy}", ObjList.CreateDate);
                txtToDate.Text = string.Format("{0: dd/MM/yyyy}", ObjList.ToDate);
                ddlAuthor.SelectedValue = ObjList.Email;
                ddlStatus.SelectedValue = ObjList.Status.ToString();
            }
        }
        catch (Exception ex)
        {
            Common.WriteLog(ex.Message, ex.StackTrace);
        }

    }
    #endregion

    protected void Button1_Click(object sender, EventArgs e)
    {
        DateTime FromDate = new DateTime();
        DateTime ToDate = new DateTime();
        if (!string.IsNullOrEmpty(txtFromDate.Text.Trim()) && DateTime.TryParse(txtFromDate.Text.Trim(), new CultureInfo("vi-VN"), DateTimeStyles.NoCurrentDateDefault, out FromDate) == false)
        {
            Showmessage("Ngày bắt đầu không đúng định dạng");
            return;
        }
        if (!string.IsNullOrEmpty(txtToDate.Text.Trim()) && DateTime.TryParse(txtToDate.Text.Trim(), new CultureInfo("vi-VN"), DateTimeStyles.NoCurrentDateDefault, out ToDate) == false)
        {
            Showmessage("Ngày kết thúc không đúng định dạng");
            return;
        }
        if (FromDate > ToDate)
        {
            Showmessage("Ngày bắt đầu không được lớn hơn ngày kết thúc");
            return;
        }
        if (txtWorkName.Text == "")
        {
            Showmessage("Vui lòng điền tên công việc...!");
            return;
        }
        if (ddlAuthor.SelectedValue == "0")
        {
            Showmessage("Vui lòng chọn người nhận công việc...!");
            return;
        }
        //if (txtUserMail.Text == "")
        //{
        //    Showmessage("Vui lòng điền địa chỉ mail người nhận...!");
        //    return;
        //}
        Working ObjInfo = new Working();
        ObjInfo.Id = Convert.ToInt32(hdfWordId.Value);
        ObjInfo.Notes = txtNotes.Text.Trim();
        ObjInfo.WorkName = txtWorkName.Text.Trim();
        ObjInfo.ToDate = ToDate;
        ObjInfo.CreateDate = FromDate;
        ObjInfo.Author = ddlAuthor.SelectedItem.ToString();
        ObjInfo.Status = Convert.ToInt32(ddlStatus.SelectedValue);
        BLL_Working ObjBLL = new BLL_Working();
        int Id = ObjBLL.Insert_Work(ObjInfo);
        if ( Id> 0)
        {
            if (EmailHelper.Sendmail(Server.MapPath("~/Resources/Template"), ddlAuthor.SelectedValue, txtWorkName.Text.Trim(),txtNotes.Text.Trim(),ddlStatus.SelectedItem.ToString(),ddlAuthor.SelectedItem.ToString(),Id.ToString()) == true)
            {
                Showmessage("Tạo công việc thành công");
                return;
            }
            else
            {
                Showmessage("Tạo công việc thành công");
                return;
            }
        }
        else
        {
            Showmessage("Tạo công việc thất bại");
        }
    }

    #region "Message"
    private string Showmessage(string message)
    {
        return lbmessage.Text = message;
    }
    #endregion

    private void hidebutton()
    {
        txtToDate.ReadOnly=true;
        txtFromDate.ReadOnly = true;
        txtWorkName.ReadOnly = true;
        txtNotes.ReadOnly = true;
        ddlAuthor.Enabled = false;
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        DateTime FromDate = new DateTime();
        DateTime ToDate = new DateTime();
        if (!string.IsNullOrEmpty(txtFromDate.Text.Trim()) && DateTime.TryParse(txtFromDate.Text.Trim(), new CultureInfo("vi-VN"), DateTimeStyles.NoCurrentDateDefault, out FromDate) == false)
        {
            Showmessage("Ngày bắt đầu không đúng định dạng");
            return;
        }
        if (!string.IsNullOrEmpty(txtToDate.Text.Trim()) && DateTime.TryParse(txtToDate.Text.Trim(), new CultureInfo("vi-VN"), DateTimeStyles.NoCurrentDateDefault, out ToDate) == false)
        {
            Showmessage("Ngày kết thúc không đúng định dạng");
            return;
        }
        if (FromDate > ToDate)
        {
            Showmessage("Ngày bắt đầu không được lớn hơn ngày kết thúc");
            return;
        }
        if (txtWorkName.Text == "")
        {
            Showmessage("Vui lòng điền tên công việc...!");
            return;
        }
        if (ddlAuthor.SelectedValue == "0")
        {
            Showmessage("Vui lòng chọn người nhận công việc...!");
            return;
        }
        //if (txtUserMail.Text == "")
        //{
        //    Showmessage("Vui lòng điền địa chỉ mail người nhận...!");
        //    return;
        //}
        Working ObjInfo = new Working();
        ObjInfo.Id = Convert.ToInt32(hdfWordId.Value);
        ObjInfo.Notes = txtNotes.Text.Trim();
        ObjInfo.WorkName = txtWorkName.Text.Trim();
        ObjInfo.ToDate = ToDate;
        ObjInfo.CreateDate = FromDate;
        ObjInfo.Author = ddlAuthor.SelectedItem.ToString();
        ObjInfo.Status = Convert.ToInt32(ddlStatus.SelectedValue);
        BLL_Working ObjBLL = new BLL_Working();
        int Id = ObjBLL.Insert_Work(ObjInfo);
        if (Id > 0)
        {
            Showmessage("Cập nhật công việc thành công");
        }
        else
        {
            Showmessage("Cập nhật công việc thất bại");
        }
    }
}